有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在日志中打印RESTJSON请求/响应?

我正在调用JSON REST服务,在返回的响应中,我有转义字符

我希望避免转义字符(让它们被解释),并漂亮地打印一个JSON响应。由于某些限制,我无法使用GSON。我尝试过漂亮的打印选项,但似乎不起作用

所有这些都必须在JAVA中完成

例如

String originalString = "{\n    "name":"xyz",\n    "age":"23"\n}"

作为字符串提供。必须将其转换为

String newString = {"name":"xyz","age":"23"}

如果可能的话,我应该能够在日志中用适当的缩进很好地打印出来,比如

{
    "name":"xyz",
    "age":"23"
}

我从RESTJSON服务响应中获取日志中的原始字符串。可以在日志中以某种方式打印新字符串(StringBuilder或其他方式)

编辑:上一级,询问此问题的原因是在日志中打印请求/响应。我在为请求执行时使用了this作为输入。然而,在记录请求之后,我面临着记录响应的问题。问题是

Request processing failed; nested exception is java.lang.IllegalStateException: SRVE0209E: Writer already obtained

有没有人面临过类似的问题?我认为问题在于能够缓存响应,就像上面示例链接中的请求一样


共 (1) 个答案

  1. # 1 楼答案

    使用Apache commons lang StringEscapeUtils类可以实现这一点。下面是同样的片段

    逃逸者。unescape HTML(originalString)